button: Split out function
authorBenjamin Otte <otte@redhat.com>
Mon, 2 Dec 2013 12:41:15 +0000 (13:41 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 3 Dec 2013 00:57:38 +0000 (01:57 +0100)
This is in preparation of the following cleanup commits.

gtk/gtkbutton.c

index ab7c81900b3bbc98b2de48012d47098fb691811a..21c537cc714a7531121e37700f88c080e4def443 100644 (file)
@@ -1970,6 +1970,26 @@ gtk_button_touch (GtkWidget     *widget,
   return GDK_EVENT_PROPAGATE;
 }
 
+static void
+gtk_button_do_release (GtkButton *button,
+                       gboolean   emit_clicked)
+{
+  GtkButtonPrivate *priv = button->priv;
+
+  if (priv->button_down)
+    {
+      priv->button_down = FALSE;
+
+      if (priv->activate_timeout)
+       return;
+
+      if (emit_clicked)
+        gtk_button_clicked (button);
+
+      gtk_button_update_state (button);
+    }
+}
+
 static gboolean
 gtk_button_grab_broken (GtkWidget          *widget,
                        GdkEventGrabBroken *event)
@@ -2096,21 +2116,9 @@ touch_release_in_button (GtkButton *button)
 static void
 gtk_real_button_released (GtkButton *button)
 {
-  GtkButtonPrivate *priv = button->priv;
-
-  if (priv->button_down)
-    {
-      priv->button_down = FALSE;
-
-      if (priv->activate_timeout)
-       return;
-
-      if (priv->in_button ||
-          touch_release_in_button (button))
-       gtk_button_clicked (button);
-
-      gtk_button_update_state (button);
-    }
+  gtk_button_do_release (button,
+                         button->priv->in_button ||
+                         touch_release_in_button (button));
 }
 
 static void